<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.prime.com.tr/ui" template="/pages/template.xhtml">

    <ui:define name="screen">

        <h:form prependId="false" id="cadastroUsuario">

            <p:growl id="growl" />
            <p:focus /> 

            <p:panel header="Cadastro de Usuário" >

                <h:panelGrid columns="1" id="grid" >

                    <h:outputLabel for="Id" value="Usuário" />
                    <p:commandButton image="ui-icon ui-icon-extlink" title="Consultar" tabindex="-1" ajax="false"  
                                     action="#{cadastroUsuarioAction.consultaUsuario}" >            
                        <p:inputText id="id" readonly="true"
                                 value="#{cadastroUsuarioAction.cadastroUsuarioVo.usuarioVo.id}" />
                    </p:commandButton>
                    <p:message for="id" />
                    
                    <h:outputLabel for="nome" value="Nome" />
                    <p:inputText id="nome" 
                                 value="#{cadastroUsuarioAction.cadastroUsuarioVo.usuarioVo.nome}" />
                    <p:message for="nome" />


                    <h:outputLabel for="email" value="E-mail" />
                    <p:inputText id="email"  
                                 value="#{cadastroUsuarioAction.cadastroUsuarioVo.usuarioVo.email}" />
                    <p:message for="email" />

                    <h:outputLabel for="confirmacaoEmail" value="Confirmação do e-mail" />
                    <p:inputText id="confirmacaoEmail" 
                                 value="#{cadastroUsuarioAction.cadastroUsuarioVo.confirmacaoEmail}" />
                    <p:message for="confirmacaoEmail" />
                    
                    <h:outputLabel for="tipo" value="Tipo" />                    
                    <p:selectOneMenu id="tipo" effect="fade"
                                     value="#{cadastroUsuarioAction.cadastroUsuarioVo.usuarioVo.tipoVo}" >
                        
                        <f:selectItems value="#{cadastroUsuarioAction.cadastroUsuarioVo.usuarioVo.tipoList}" /> 

                    </p:selectOneMenu>
                    
                    <h:outputLabel for="situacao" value="Situação" />                    
                    <p:selectOneMenu id="situacao" effect="fade"
                                     value="#{cadastroUsuarioAction.cadastroUsuarioVo.usuarioVo.situacaoVo}" >

                        <f:selectItems value="#{cadastroUsuarioAction.cadastroUsuarioVo.usuarioVo.situacaoList}" /> 
                    </p:selectOneMenu>

                    <h:outputLabel for="senha" value="Senha" />
                    <p:password id="senha" 
                                feedback="true" promptLabel="Informe a senha" inline="false"
                                weakLabel="Fraca" goodLabel="Média" strongLabel="Ótima" 
                                value="#{cadastroUsuarioAction.cadastroUsuarioVo.usuarioVo.senha}" />
                    <p:message for="senha" />


                    <h:outputLabel for="confirmacaoSenha" value="Confirmação da senha" />
                    <p:password id="confirmacaoSenha" feedback="false"
                                value="#{cadastroUsuarioAction.cadastroUsuarioVo.confirmacaoSenha}" />
                    <p:message for="confirmacaoSenha" />        

                </h:panelGrid>


                <p:commandButton value="Salvar" image="ui-icon ui-icon-disk" title="Salvar" ajax="false" update="grid,growl"
                                 action="#{cadastroUsuarioAction.salvar}" />
                
                <p:commandButton value="Deletar" image="ui-icon ui-icon-trash" title="Deletar" process="@this" tabindex="-1"
                                 onclick="confirmarExclusaoUsuario.show()" />                    
                
                <p:commandButton image="ui-icon ui-icon-refresh" title="Limpar" update="grid" process="@this" tabindex="-1"
                                 action="#{cadastroUsuarioAction.limpar}" />
                
            </p:panel>

        </h:form>

        <h:form>
            <p:commandButton value="Principal" image="ui-icon ui-icon-home" title="Principal" ajax="false" action="principal" />          
        </h:form> 
        
        <h:form id="formConfirmarExclusaoUsuario">
            <p:confirmDialog widgetVar="confirmarExclusaoUsuario" 
                             message="Confirmar exclusao?" 
                             severity="alert" 
                             modal="true" 
                             header="Confirmar" >
                
                <p:commandButton id="btnSim" value="Sim" 
                                 oncomplete="confirmarExclusaoUsuario.hide()" 
                                 actionListener="#{cadastroUsuarioAction.deletar}"
                                 action="#{consultaUsuarioAction.filtrar}"
                                 update="grid,growl" />
                
                <p:commandButton id="btnNao" value="Não" 
                                 onclick="confirmarExclusaoUsuario.hide()" />
                
            </p:confirmDialog>
        </h:form>

    </ui:define>

</ui:composition>
